package com.demo2do.jit.injection.component;

import com.demo2do.jit.JitApplication;
import com.demo2do.jit.injection.module.ApplicationModule;
import com.demo2do.jit.injection.module.RemoteModule;

import javax.inject.Singleton;

import dagger.Component;

@Singleton
@Component(modules = {ApplicationModule.class, RemoteModule.class})
public interface ApplicationComponent {

    /**
     * Call this method to inject @Inject annotated dependencies defined in JitApplication
     *
     * @param jitApplication
     */
    public void inject(JitApplication jitApplication);

    /**
     * Build subcomponent ActivityComponent
     *
     * @return
     */
    public ActivityComponent newActivityComponent();

}
